package 作业.ioStream;

import java.io.*;

/**
 * 	掌握java中字符流的基本使用
 * **需求描述**：
 * 	实现一个验证程序运行次数的小程序，要求如下：
 * 		1.当程序运行超过3次时给出提示:本软件只能免费使用3次,欢迎您注册会员后继续使用
 * 		2.程序运行演示如下:
 *      第一次运行控制台输出: 欢迎使用本软件,第1次使用免费~
 *      第二次运行控制台输出: 欢迎使用本软件,第2次使用免费~
 *      第三次运行控制台输出: 欢迎使用本软件,第3次使用免费~
 *      第四次及之后运行控制台输出:本软件只能免费使用3次,欢迎您注册会员后继续使用~
 * ****实现提示****：
 * 1. 程序运行3次，每次运行结果不同，所以控制台打印的数字，应该在写文件中
 * 2. 每次程序运行，读取文件中的数据，打印在控制台
 * 3. 再将数据+1后重新写回文件
 * 4. 每次读文件中的数据，需要判断数据是否超过3，超过3，则打印不同的结果
 * 注意：程序启动，使用输入流读取文件中免费使用的次数（两个流不建议写在一起）
 *      判断操作
 *      使用输出流更新文件中免费使用的次数
 */
public class Test {
    public static void main(String[] args) throws IOException {
//         * 1. 程序运行3次，每次运行结果不同，所以控制台打印的数字，应该在写文件中
        try {
            File countFile=new File("H:\\javabase_ws2\\java_advance\\Day11_io\\src\\作业\\ioStream\\count.txt");
            int count =1;
            if (countFile.exists()){
                BufferedReader br=new BufferedReader(new FileReader(countFile));
                count = Integer.parseInt(br.readLine());
                br.close();
            }
            if (count<4){
                System.out.println("欢迎使用本软件,第"+count+"次使用免费~");
            }else {
                System.out.println("本软件只能免费使用3次,欢迎您注册会员后继续使用~");
                return;
            }
            BufferedWriter bw=new BufferedWriter(new FileWriter(countFile));
            bw.write(String.valueOf(count+1));//将int类型转换为String类型
            bw.close();
        } catch (NumberFormatException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }


//                * 2. 每次程序运行，读取文件中的数据，打印在控制台
//                * 3. 再将数据+1后重新写回文件
//                * 4. 每次读文件中的数据，需要判断数据是否超过3，超过3，则打印不同的结果
    }
}
